1. Field of the Invention
The present invention relates to the field of instant messaging and more particularly to buddy list management for instant messaging systems.
2. Description of the Related Art
Real time communications systems provide a substantial enhancement over more traditional, asynchronous communications systems. Electronic mail delivery systems, the prototypical asynchronous communications systems, in its time represented a giant leap forward in respect to global interpersonal communications. Prior to electronic mail, individuals primarily communicated via telephone, facsimile and post. With electronic mail, however, individuals expect near instant delivery of text, and even imagery, audio and video, without incurring the delay typical of the postal system, or the expense associated with telephony and fax technologies.
Despite the ubiquity of electronic mail, asynchronous communications systems lack several elements common in the realm of real time communications systems. In particular, the seemingly instant delivery of a message cannot be experienced in the world of electronic mail. In a real-time society, the minor latencies associated with electronic mail often cannot be suitable for the task at hand where a real-time conversation will be required in addressing a problem or performing a collaborative task. More importantly, often the feel and nature of a “conversation” as it is known to human beings only can be approximated through real time communications where the participants to a conversation feel the spontaneity of an exchange of ideas, much as is the case in a live, face-to-face conversation.
The recent rapid development of the Internet has led to advanced modes of synchronous, real-time collaboration able to fulfill the real-time communicative requirements of the modern computing participant. Using the Internet as a backbone, individuals worldwide can converge in real-time in cyberspace to share ideas, documents and images in a manner not previously possible through conventional telephony and video conferencing. To facilitate collaboration over the Internet, a substantial collection of technologies and protocols have been assembled to effectively deliver audio, video and data over the single data communications medium of the Internet. These technologies include several human-to-human collaborative environments including instant messaging.
In an instant messaging system, commonly used addresses for collaborative partners are stored and maintained in an address book referred to as a “buddy list”. New entries generally are added to the buddy list in only one of two ways: manually, or in response to receiving a chat request from another party. In either circumstance, however, the establishment of a subsequent conversation with the same collaborator can be as simple as locating the address of the collaborator in the buddy list and requesting the initiation of an instant messaging session with the collaborator.
Presence awareness for an instant messaging system provides for an indication of whether or not a collaborator is on-line, off-line, on-line, but unavailable, or on-line and available, to name a few presence states. Generally, presence awareness is applied to buddy lists so that the availability of any particular collaborator to chat can be readily apparent merely by glancing at the buddy list. To implement presence awareness for a buddy list, at log on time, the buddy list can be forwarded to the instant messaging server and placed into an array. As individual collaborators become available, the instant messaging server can change the presence state of a corresponding in the buddy list to available.
Within an organization, users come and go. As new users are added to an organization, those users are added to the network directory, and as existing users leave an organization, those users are removed from the network directory. The directory itself provides the principal indicator as to those users which are permitted to access the organizational network resources. The presence or absence of a buddy list entry for a current or former user, however, remains independent of the presence or absence of a corresponding user entry in the network directory.
To wit, as users are removed from the network directory, the corresponding buddy list entry will remain in the buddy list as an invalid entry. To the viewer of the buddy list, however, the invalid buddy will appear to be perpetually off-line. Notwithstanding, server resources will continue to be consumed when attempting presence awareness for the invalid buddy in the buddy list. For a large organization, the impact of wasted resources due to invalid entries among buddy lists can be substantial.